<?php
//
// 暂无用
//

/*******************************************************************************
 * 生成唯一值
 *******************************************************************************/
class System {
	function currentTimeMillis() {
		list( $usec, $sec ) = explode( " ", microtime() );
		return $sec.substr( $usec, 2, 3 );
	}
}
class NetAddress {
	var $name = 'localhost';
	var $ip   = '127.0.0.1';
	function getHost( $coumputer_name, $ip ) { // static
		$address = new NetAddress();
		$address->name = $coumputer_name;
		$address->ip   = $ip;
		return $address;
	}
	function toString() {
		return strtolower( $this->name.'/'.$this->ip );
	}
}
class Random {
	function nextLong() {
		$tmp = rand( 0, 1 )?'-':'';
		return $tmp.rand( 1000, 9999 ).rand( 1000, 9999 ).rand( 1000, 9999 ).rand( 100, 999 ).rand( 100, 999 );
	}
}
class Guid {
	var $valueBeforeMD5;
	var $valueAfterMD5;
	function Guid( $computer_name, $ip ) {
		$this->getGuid( $computer_name, $ip );
	}
	function getGuid( $coumputer_name, $ip ) {
		$address = NetAddress::getHost( $coumputer_name, $ip );
		$this->valueBeforeMD5 = $address->toString().':'.System::currentTimeMillis().':'.Random::nextLong();
		$this->valueAfterMD5 = md5( $this->valueBeforeMD5 );
	}
	function newGuid() {
		$Guid = new Guid();
		return $Guid;
	}
	function toString() {
		$raw = strtoupper( $this->valueAfterMD5 );
		return substr( $raw, 0, 8 ).'-'.substr( $raw, 8, 4 ).'-'.substr( $raw, 12, 4 ).'-'.substr( $raw, 16, 4 ).'-'.substr( $raw, 20 );
	}
}
$computer_name = $_SERVER["SERVER_NAME"];
$ip            = $_SERVER["SERVER_ADDR"];
$guid = new Guid( $computer_name, $ip );
print $guid->toString();
//调用产生的结果可能如： 3238D32E-807C-B1C4-01C4-FD1346D32110
?>
<?php
for ( $i = 0; $i < 1000; $i ++ ) {
	echo uniqid(), "<br />\n";
}
?>
